Real-time mask quality predictor

ABSTRACT

An embodiment of an image processing apparatus may comprise one or more processors, memory coupled to the one or more processor to store image and mask data, and logic coupled to the one or more processors and the memory, the logic to capture a volumetric broadcast video signal in real-time and generate a sequence of frame images from the captured real-time volumetric broadcast video signal, segment an input image, which corresponds to a single frame of the sequence of frame images, to generate a mask image associated with the input image, and determine a mask quality score based on the input image and the associated mask image in real-time. Other embodiments are disclosed and claimed.

CLAIM FOR PRIORITY

This application is a divisional of, and claims the benefit of priorityto U.S. patent application Ser. No. 16/457,518, filed on Jun. 28, 2019,titled “REAL-TIME MASK QUALITY PREDICTOR”, and which is incorporated byreference in its entirety.

BACKGROUND

In machine vision applications, image segmentation may refer topartitioning an image into segments, such as sets of pixels which allbelong to the same segment. Image segmentation is useful for manydifferent image analysis applications. For example, image segmentationmay be useful to separate the foreground of a digital image from thebackground, to identify objects in a digital image, to locate edges,boundaries, or contours in an image, among many other usefulapplications.

BRIEF DESCRIPTION OF THE DRAWINGS

The material described herein is illustrated by way of example and notby way of limitation in the accompanying figures. For simplicity andclarity of illustration, elements illustrated in the figures are notnecessarily drawn to scale. For example, the dimensions of some elementsmay be exaggerated relative to other elements for clarity. Further,where considered appropriate, reference labels have been repeated amongthe figures to indicate corresponding or analogous elements. In thefigures:

FIG. 1 is a block diagram of an example of an image processing systemaccording to an embodiment;

FIG. 2 is a block diagram of an example of an electronic systemaccording to an embodiment;

FIG. 3 is a block diagram of an example of an image processing apparatusaccording to an embodiment;

FIGS. 4A to 4C are flowcharts of an example of a method of processing animage according to an embodiment;

FIG. 5 is an illustrative diagram of an example of a process forgenerating a set of data according to an embodiment;

FIG. 6 is an illustrative diagram of an example of a process forconstructing a map quality predictor module according to an embodiment;

FIGS. 7A to 7B are block diagrams of another example of an imageprocessing system according to an embodiment;

FIG. 8 is an illustrative diagram of an example system; and

FIG. 9 illustrates an example small form factor device, all arranged inaccordance with at least some implementations of the present disclosure.

DETAILED DESCRIPTION

One or more embodiments or implementations are now described withreference to the enclosed figures. While specific configurations andarrangements are discussed, it should be understood that this is donefor illustrative purposes only. Persons skilled in the relevant art willrecognize that other configurations and arrangements may be employedwithout departing from the spirit and scope of the description. It willbe apparent to those skilled in the relevant art that techniques and/orarrangements described herein may also be employed in a variety of othersystems and applications other than what is described herein.

While the following description sets forth various implementations thatmay be manifested in architectures such as system-on-a-chip (SoC)architectures for example, implementation of the techniques and/orarrangements described herein are not restricted to particulararchitectures and/or computing systems and may be implemented by anyarchitecture and/or computing system for similar purposes. For instance,various architectures employing, for example, multiple integratedcircuit (IC) chips and/or packages, and/or various computing devicesand/or consumer electronic (CE) devices such as set top boxes,smartphones, etc., may implement the techniques and/or arrangementsdescribed herein. Further, while the following description may set forthnumerous specific details such as logic implementations, types andinterrelationships of system components, logic partitioning/integrationchoices, etc., claimed subject matter may be practiced without suchspecific details. In other instances, some material such as, forexample, control structures and full software instruction sequences, maynot be shown in detail in order not to obscure the material disclosedherein.

The material disclosed herein may be implemented in hardware, firmware,software, or any combination thereof. The material disclosed herein mayalso be implemented as instructions stored on a machine-readable medium,which may be read and executed by one or more processors. Amachine-readable medium may include any medium and/or mechanism forstoring or transmitting information in a form readable by a machine(e.g., a computing device). For example, a machine-readable medium mayinclude read only memory (ROM); random access memory (RAM); magneticdisk storage media; optical storage media; flash memory devices;electrical, optical, acoustical or other forms of propagated signals(e.g., carrier waves, infrared signals, digital signals, etc.), andothers.

References in the specification to “one implementation”, “animplementation”, “an example implementation”, etc., indicate that theimplementation described may include a particular feature, structure, orcharacteristic, but every embodiment may not necessarily include theparticular feature, structure, or characteristic. Moreover, such phrasesare not necessarily referring to the same implementation. Further, whena particular feature, structure, or characteristic is described inconnection with an embodiment, it is submitted that it is within theknowledge of one skilled in the art to effect such feature, structure,or characteristic in connection with other implementations whether ornot explicitly described herein.

Methods, devices, systems, and articles are described herein related toimage processing systems. More particularly, embodiments relate to areal-time mask quality predictor (MQP).

With reference to FIG. 1 , an embodiment of an image processing system10 may include a video capture engine 11 to capture a volumetricbroadcast video signal in real-time and generate a sequence of frameimages from the captured real-time volumetric broadcast video signal, animage segmentation engine 12 to segment an input image, whichcorresponds to a single frame of the sequence of frame images, togenerate a mask image associated with the input image, and logic 13coupled to the image segmentation engine and the video capture engine todetermine a mask quality score based on the input image and theassociated mask image in real-time. For example, the logic 13 mayinclude a neural network trained to take the input image and associatedmask image as inputs to the neural network and provide the mask qualityscore as an output of the neural network. In some embodiments, theneural network is trained based on a set of reference input images, aset of degraded mask images, and a set of quality scores. In someembodiments, a frame splitter may split the sequences of frame imagesinto individual frames. An individual frame is provided to the imagesegmentation engine 12 to generate the mask image. The individual frameand its corresponding generated mask image are provided to the trainedneural network to predict the mask quality score.

Embodiments of each of the above video capture engine 11, imagesegmentation engine 12, logic 13, and other system components may beimplemented in hardware, software, or any suitable combination thereof.For example, hardware implementations may include configurable logicsuch as, for example, programmable logic arrays (PLAs), fieldprogrammable gate arrays (FPGAs), complex programmable logic devices(CPLDs), or fixed-functionality logic hardware using circuit technologysuch as, for example, application specific integrated circuit (ASIC),complementary metal oxide semiconductor (CMOS) or transistor-transistorlogic (TTL) technology, or any combination thereof. The term enginerefers to a collection of electronic components and/or softwareconfigured to implement the function of the engine. For example, thevideo capture engine 11 may include cameras, sensors, image processors,memory, power supplies, and/or any other suitable technology to capturea real-time volumetric broadcast video signal. For example, the imagesegmentation engine may include trained neural networks, processors,memory, power supplies, and/or any other suitable technology to segmentan input image.

In some embodiments, the video capture engine 11, image segmentationengine 12, logic 13, and other system components may be located in, orco-located with, each other or various other components, including aprocessor (e.g., on a same die). For example, the logic 13 may beimplemented on a semiconductor apparatus which may include one or moresubstrates, with the logic 13 coupled to the one or more substrates. Insome embodiments, the logic 13 may be at least partly implemented in oneor more of configurable logic and fixed-functionality hardware logic onsemiconductor substrate(s) (e.g., silicon, sapphire, gallium-arsenide,etc.). For example, the logic 13 may include a transistor array and/orother integrated circuit components coupled to the substrate(s) withtransistor channel regions that are positioned within the substrate(s).The interface between the logic 13 and the substrate(s) may not be anabrupt junction. The logic 13 may also be considered to include anepitaxial layer that is grown on an initial wafer of the substrate(s).

Alternatively, or additionally, all or portions of these components maybe implemented in one or more modules as a set of logic instructionsstored in a machine- or computer-readable storage medium such as randomaccess memory (RAM), read only memory (ROM), programmable ROM (PROM),firmware, flash memory, etc., to be executed by a processor or computingdevice. For example, computer program code to carry out the operationsof the components may be written in any combination of one or moreoperating system (OS) applicable/appropriate programming languages,including an object-oriented programming language such as PYTHON, PERL,JAVA, SMALLTALK, C++, C# or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. For example, memory, persistent storage media, orother system memory may store a set of instructions which when executedby a processor cause the system 10 to implement one or more components,features, or aspects of the system 10 (e.g., the logic 13, etc.).

With reference to FIG. 2 , an embodiment of an electronic system 20 mayinclude a memory 22 to store a set of input images and a reference maskimage associated with each input image of the set of input images, aprocessor 21 communicatively coupled to the memory 22, and logic 23communicatively coupled to the processor 21 and the memory 22. The logic23 may be configured to generate a set of two or more masks of differentquality associated with each input image of the set of input images, anddetermine a quality score for each generated mask. For example, thelogic 23 may be configured to generate at least one mask of the set ofmasks with a first segmentation model, and generate at least one mask ofthe set of masks with a second segmentation model which is differentfrom the first segmentation model. Additionally, or alternatively, thelogic 23 may be configured to generate at least one mask of the set ofmasks with a first set of parameters for a segmentation model, andgenerate at least one mask of the set of masks with a second set ofparameters for the segmentation model which is different from the firstset of parameters.

In some embodiments, the logic 23 may be further configured to determinethe quality score for each generated mask based on a comparison of thegenerated mask associated with an input image and the reference maskassociated with the input image. For example, the comparison may bebased on a Dice similarity coefficient. In some embodiments, the logic23 may be further configured to train a neural network to predictquality scores based on a training data set that includes the set ofinput images, the set of two or more generated masks associated witheach input image, and the quality score for each of the generated masks.

Embodiments of each of the above processor 21, memory 22, logic 23, andother system components may be implemented in hardware, software, or anysuitable combination thereof. For example, hardware implementations mayinclude configurable logic such as, for example, PLAs, FPGAs, CPLDs, orfixed-functionality logic hardware using circuit technology such as, forexample, ASIC, CMOS or TTL technology, or any combination thereof.Embodiments of the processor 21 may include a general purpose processor,a special purpose processor, an image processor, a graphic processor, amicroarchitecture, a kernel, an execution unit, a general purposecontroller, a special purpose controller, a micro-controller, etc.

In some embodiments, the memory 22 and/or the logic 23, may be locatedin, or co-located with, various components, including the processor 21(e.g., on a same die). For example, the logic 23 may be implemented on asemiconductor apparatus which may include one or more substrates, withthe logic 23 coupled to the one or more substrates. In some embodiments,the logic 23 may be at least partly implemented in one or more ofconfigurable logic and fixed-functionality hardware logic onsemiconductor substrate(s) (e.g., silicon, sapphire, gallium-arsenide,etc.). For example, the logic 23 may include a transistor array and/orother integrated circuit components coupled to the substrate(s) withtransistor channel regions that are positioned within the substrate(s).The interface between the logic 23 and the substrate(s) may not be anabrupt junction. The logic 23 may also be considered to include anepitaxial layer that is grown on an initial wafer of the substrate(s).

Alternatively, or additionally, all or portions of these components maybe implemented in one or more modules as a set of logic instructionsstored in a machine- or computer-readable storage medium such as randomaccess memory (RAM), read only memory (ROM), programmable ROM (PROM),firmware, flash memory, etc., to be executed by a processor or computingdevice. For example, computer program code to carry out the operationsof the components may be written in any combination of one or moreoperating system (OS) applicable/appropriate programming languages,including an object-oriented programming language such as PYTHON, PERL,JAVA, SMALLTALK, C++, C# or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. For example, the memory 22, persistent storagemedia, or other system memory may store a set of instructions which whenexecuted by the processor 21 cause the system 20 to implement one ormore components, features, or aspects of the system 20 (e.g., the logic23, generating a set of two or more masks of different qualityassociated with each input image of the set of input images, determininga quality score for each generated mask, etc.).

Turning now to FIG. 3 , an embodiment of an image processing apparatus30 may include one or more substrates 31, and logic 32 coupled to theone or more substrates 31. The logic 32 may be configured to generate aset of two or more masks of different quality associated each inputimage of a set of input images, and determine a quality score for eachgenerated mask. For example, the logic 32 may be configured to generateat least one mask of the set of masks with a first segmentation model,and generate at least one mask of the set of masks with a secondsegmentation model which is different from the first segmentation model.Additionally, or alternatively, the logic 32 may be configured togenerate at least one mask of the set of masks with a first set ofparameters for a segmentation model, and generate at least one mask ofthe set of masks with a second set of parameters for the segmentationmodel which is different from the first set of parameters.

In some embodiments, the logic 32 may be further configured to determinethe quality score for each generated mask based on a comparison of thegenerated mask associated with an input image and a reference maskassociated with the input image. For example, the comparison may bebased on a Dice similarity coefficient. In some embodiments, the logic32 may be further configured to train a neural network to predictquality scores based on a training data set that includes the set ofinput images, the set of two or more generated masks associated witheach input image, and the quality score for each of the generated masks.

Embodiments of logic 32, and other apparatus components may beimplemented in hardware, software, or any suitable combination thereof.For example, hardware implementations may include configurable logicsuch as, for example, PLAs, FPGAs, CPLDs, or fixed-functionality logichardware using circuit technology such as, for example, ASIC, CMOS orTTL technology, or any combination thereof. In some embodiments, thelogic 32, may be located in, or co-located with, various components,including a processor (e.g., on a same die). For example, the one ormore substrates 31 may include a semiconductor substrate(s) (e.g.,silicon, sapphire, gallium-arsenide, etc.). For example, the logic 32may include a transistor array and/or other integrated circuitcomponents coupled to the substrate(s) 31 with transistor channelregions that are positioned within the substrate(s) 31. The interfacebetween the logic 32 and the substrate(s) 31 may not be an abruptjunction. The logic 32 may also be considered to include an epitaxiallayer that is grown on an initial wafer of the substrate(s) 31.

Turning now to FIGS. 4A to 4C, an embodiment of a method 40 ofprocessing an image may include generating a set of two or more masks ofdifferent quality associated each input image of a set of input imagesat block 41, and determining a quality score for each generated mask atblock 42. For example, the method 40 may include generating at least onemask of the set of masks with a first segmentation model at block 43,and generating at least one mask of the set of masks with a secondsegmentation model which is different from the first segmentation modelat block 44. Additionally, or alternatively, the method 40 may includegenerating at least one mask of the set of masks with a first set ofparameters for a segmentation model at block 45, and generating at leastone mask of the set of masks with a second set of parameters for thesegmentation model which is different from the first set of parametersat block 46.

Some embodiments of the method 40 may further include determining thequality score for each generated mask based on a comparison of thegenerated mask associated with an input image and a reference maskassociated with the input image at block 47. For example, the comparisonmay be based on a Dice similarity coefficient at block 48. Someembodiments of the method 40 may further include training a neuralnetwork to predict quality scores based on a training data set thatincludes the set of input images, the set of two or more generated masksassociated with each input image, and the quality score for each of thegenerated masks at block 49.

Embodiments of the method 40 may be implemented in a system, apparatus,computer, device, etc., for example, such as those described herein.More particularly, hardware implementations of the method 40 may includeconfigurable logic such as, for example, PLAs, FPGAs, CPLDs, or infixed-functionality logic hardware using circuit technology such as, forexample, ASIC, CMOS, or TTL technology, or any combination thereof.Alternatively, or additionally, the method 40 may be implemented in oneor more modules as a set of logic instructions stored in a machine- orcomputer-readable storage medium such as RAM, ROM, PROM, firmware, flashmemory, etc., to be executed by a processor or computing device. Forexample, computer program code to carry out the operations of thecomponents may be written in any combination of one or more OSapplicable/appropriate programming languages, including anobject-oriented programming language such as PYTHON, PERL, JAVA,SMALLTALK, C++, C# or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages.

For example, the method 40 may be implemented on a computer readablemedium as described in connection with Examples 22 to 27 below.Embodiments or portions of the method 40 may be implemented in firmware,applications (e.g., through an application programming interface (API)),or driver software running on an operating system (OS). Additionally,logic instructions might include assembler instructions, instruction setarchitecture (ISA) instructions, machine instructions, machine dependentinstructions, microcode, state-setting data, configuration data forintegrated circuitry, state information that personalizes electroniccircuitry and/or other structural components that are native to hardware(e.g., host processor, central processing unit/CPU, microcontroller,etc.).

Some embodiments may advantageously provide technology to automaticallymeasure the quality of an image segmentation mask in the absence ofreference mask. Separating image foreground from background (e.g.,sometimes referred to as image segmentation) is an important step inmany computer vision tasks. Monitoring the quality of the segmentationsgenerated by software and/or hardware is a valuable quality controlmechanism. Some embodiments advantageously provide a MQP module, whichmay include technology to automatically predict the quality of an imagesegmentation in real time without comparing against a referencesegmentation. In some embodiments, the MQP module may advantageouslycharacterize a mask a) without any reference, b) without humanintervention, and c) in real time.

In some embodiments, the MQP module may include a neural network trainedto provide mask quality scores. For example, some embodiments may trainthe MQP neural network by having a user provide reference images withground truth segmentation masks and, from the provided reference images,generate a collection of additional reference images with masks ofvarying quality and known quality scores. For example, the additionalreference images may be generated by running various segmentationalgorithms over the images with a variety of hyperparameters to generatemasks of a wide range of qualities, and then evaluating the generatedmasks against the user provided reference images. A neural networkregression model to predict quality scores from images and masks maythen be trained using this collection of reference images with masks ofvarying quality and known quality scores.

At deployment time, some embodiments require neither a referencesegmentation nor human intervention to decide on the quality of asegmentation mask, and the run time analysis may be executed in realtime. Numerous image processing applications may benefit fromembodiments of the MQP technology described herein. Non-limitingexamples of volumetric video may include utilizing multiple cameras tocapture content in three dimensions, but may differ from standard 360°or VR video in that volumetric video is captured from the outside, in.For example, because image segmentation is an important step involumetric broadcast, an appropriately utilized embodiment of an MQPmodule may enable a user/developer/service provider/etc. to bettermonitor quality in real-time during volumetric broadcast. In a real-timevolumetric broadcast, for example, image segmentation may be utilized toseparate the background of the video (e.g., stationary elements, thefield, the goal, etc.) from the foreground of the video (e.g., elementsin motion such as the players, the ball, etc.).

Other non-limiting examples of applications for image segmentation whichmay benefit from embodiments of the MQP technology include software,dashboards, loggers, quality reporting tools, or similar other tools.For example, embodiments of an MQP module may enable one or more of thefollowing tools: A tool which accepts a raw image as input and generatesa segmentation mask along with quality score without a reference mask touse as ground truth; A tool which consumes a stream of raw images andproduces a stream of segmentation masks with quality scores to monitorthe quality of the segmentations being made; A tool that takes an imageand a mask and outputs a score or produces an output that explicitly orimplicitly indicates the quality of the generated mask; A tool thatchoses one segmentation algorithm from a pool of many segmentationalgorithms; A tool that chooses the best segmentation mask from manysegmentation masks generated. Advantageously, embodiments of such toolsmay perform quality estimation for image segmentation without referenceto ground truth, and in real-time. Embodiments of such tools may utilizeartificial intelligence, and/or neural networks, for evaluatingsegmentation quality.

One useful application of image segmentation includes the separation ofan image into foreground and background. Such separation is an importanttask in computer vision, and is also important to the real-timebroadcasting of volumetric content. Typically, the result of such imagesegmentation is a mask, which may correspond to an image of the samedimensions as the input image in which the foreground content ispreserved and the background content has been set to black. Imagesegmentation is generally a resource intensive problem. When run inresource constrained environments or when encountering unanticipatedimages, even the best segmentation algorithms can produce low qualitymasks. In streaming volumetric broadcast, where the foreground of animage are the humans portrayed in the image, poor quality segmentationmasks result in the volumetric broadcast of humans with missing limbs,or extra blobs protruding from their bodies. This is a poor end-userexperience, and monitoring of generated segmentation mask quality is animportant quality control step.

Conventionally, two approaches are usually employed to determine maskquality: a) Subjectively scoring each of the masks generated; and b)Evaluating mask quality based on the manually painted masks with thehelp of different metrics. However, none of the methods are feasible inthe real-time broadcasting scenario as manual involvement is tedious andtime consuming.

To address these challenges, some embodiments provide technology thatcan automatically evaluate the quality of the generated masksautomatically in real-time. Some embodiments may first generate a set ofdata which includes: 1) sample images; 2) a collection of masks ofvarying quality for each sample image; and 3) corresponding scores foreach mask associated with each sample image. Based on the generated setof data, a MQP module may be constructed to analyze an input image and amask associated with the input image, and output a quality score for themask. The appropriately configured MQP module may then be deployed toprovide real-time mask quality scores in an image processing application(e.g., computer vision, volumetric broadcasting, etc.).

Artificial Intelligence Examples

Some embodiments may advantageously utilize artificial intelligencetechnology such as neural networks. For example, the set of data may begenerated to utilize as training data for a neural network. The neuralnetwork may be appropriately trained with the training data to functionas a MQP module which takes an input image and an associated mask asinputs to the neural network and provides a quality score for theassociated mask as an output of the neural network. The neural networkmay then be deployed in a wide variety of image processing applicationsto provide real-time mask quality scores.

With reference to FIG. 5 , an embodiment of a process 50 for generatinga set of data illustrates generation of training data by purposelydegrading the reference masks. At block 52, a number (e.g., n; n>1) ofraw color images from a camera are painted manually to provide areference mask for each image. At block 54, a base model (M_(b)) isgenerated from some semantic segmentation algorithm by training the basemodel on the manually generated reference masks. The base model M_(b) isthen deliberately deteriorated to generate degraded models (DM₁ throughDM_(k); k>1). For example, the degraded models may be generated bytuning various parameters of the base model M_(b) (e.g., number ofepochs, learning rate etc.) of the neural network or segmentationalgorithm. Utilizing the degraded models, imperfect masks of varyingquality are generated at block 56.

At block 58, quality scores for each image and mask pair may bedetermined, based on the manually painted reference masks for theimages. The images, generated masks, and determined quality scores maythen later be utilized used for training. Assuming the initial number oflabeled images to be n and the number of degraded models being used tobe k, for example, the data set will include a total of k×n image, masksand score tuples. To generate the data set, each of these k×n masks maybe compared against the corresponding manually painted reference masks(e.g., ground truth), to determine the quality scores of all k×n masks.Some embodiments may utilize a metric score such as a Dice similaritycoefficient, but any suitable metric/techniques may be utilized thatreturns a real value determined by comparing a candidate segmentationagainst the ground truth (e.g., Hausdorff distance, etc.). The generateddataset may then be utilized as the training data, validation data, andholdout/test data to train neural network (e.g., a convolutional neuralnetwork (CNN), a deep learning (DL) CNN, etc.) as a MQP module.

With reference to FIG. 6 , an embodiment of a process 60 forconstructing a MQP module includes training a neural network model atblock 62 with a subset of k×n image, mask and the corresponding scores.Instead of training with three color (e.g., red, green, and blue (RGB))channels, some embodiments utilized four channels (e.g., RGB and theassociated mask as the fourth channel). The input to the trainingalgorithm includes the (image, mask) pair and the output is the qualityscore. Following training, a trained neural network with a MQP model isready for deployment at block 64.

With reference to FIGS. 7A to 7B, embodiments show an example system 70where, after the neural network is trained, the MQP model mayadvantageously be utilized for inference in real-time. In this exampleapplication, a sequence of frames is generated from real-time videocapture system 72 and provided to a segmentation model engine 74, whichoutputs a mask for each frame. The actual frame image 73 and thesegmentation mask 75 are provided as inputs to the MQP model 76, whichgenerates and outputs the quality score for each frame in real-time. InFIG. 7A, the segmentation model engine 74 utilizes algorithm X, whichproduces a higher quality score as compared to algorithm Y utilized inFIG. 7B. With real-time determination of such quality scores, the system70 may advantageously make corresponding real-time adjustments asneeded. For example, predicted poor quality segmentation may be excludedfrom the broadcast (e.g., or from re-broadcasts such as replays). Inanother example, in response to a predicted mask quality that is lowerthan a threshold the system 70 may reduce the frame rate (e.g., from 40frames per second (fps) to 30 fps) and select a more compute intensivealgorithm to improve the image segmentation quality (e.g., that takes alittle longer but has better results).

Various components of the systems described herein may be implemented insoftware, firmware, and/or hardware and/or any combination thereof. Forexample, various components of the systems or devices discussed hereinmay be provided, at least in part, by hardware of a computingSystem-on-a-Chip (SoC) such as may be found in a computing system suchas, for example, a smart phone. Those skilled in the art may recognizethat systems described herein may include additional components thathave not been depicted in the corresponding figures. For example, thesystems discussed herein may include additional components such as bitstream multiplexer or de-multiplexer modules and the like that have notbeen depicted in the interest of clarity.

While implementation of the example processes discussed herein mayinclude the undertaking of all operations shown in the orderillustrated, the present disclosure is not limited in this regard and,in various examples, implementation of the example processes herein mayinclude only a subset of the operations shown, operations performed in adifferent order than illustrated, or additional operations.

In addition, any one or more of the operations discussed herein may beundertaken in response to instructions provided by one or more computerprogram products. Such program products may include signal bearing mediaproviding instructions that, when executed by, for example, a processor,may provide the functionality described herein. The computer programproducts may be provided in any form of one or more machine-readablemedia. Thus, for example, a processor including one or more graphicsprocessing unit(s) or processor core(s) may undertake one or more of theblocks of the example processes herein in response to program codeand/or instructions or instruction sets conveyed to the processor by oneor more machine-readable media. In general, a machine-readable mediummay convey software in the form of program code and/or instructions orinstruction sets that may cause any of the devices and/or systemsdescribed herein to implement at least portions of the operationsdiscussed herein and/or any portions the devices, systems, or any moduleor component as discussed herein.

As used in any implementation described herein, the term “module” refersto any combination of software logic, firmware logic, hardware logic,and/or circuitry configured to provide the functionality describedherein. The software may be embodied as a software package, code and/orinstruction set or instructions, and “hardware”, as used in anyimplementation described herein, may include, for example, singly or inany combination, hardwired circuitry, programmable circuitry, statemachine circuitry, fixed function circuitry, execution unit circuitry,and/or firmware that stores instructions executed by programmablecircuitry. The modules may, collectively or individually, be embodied ascircuitry that forms part of a larger system, for example, an integratedcircuit (IC), system on-chip (SoC), and so forth.

FIG. 8 is an illustrative diagram of an example system 1000, arranged inaccordance with at least some implementations of the present disclosure.In various implementations, system 1000 may be a mobile system althoughsystem 1000 is not limited to this context. For example, system 1000 maybe incorporated into a personal computer (PC), laptop computer,ultra-laptop computer, tablet, touch pad, portable computer, handheldcomputer, palmtop computer, personal digital assistant (PDA), cellulartelephone, combination cellular telephone/PDA, television, smart device(e.g., smart phone, smart tablet or smart television), mobile internetdevice (MID), messaging device, data communication device, cameras (e.g.point-and-shoot cameras, super-zoom cameras, digital single-lens reflex(DSLR) cameras), and so forth.

In various implementations, system 1000 includes a platform 1002 coupledto a display 1020. Platform 1002 may receive content from a contentdevice such as content services device(s) 1030 or content deliverydevice(s) 1040 or other similar content sources. A navigation controller1050 including one or more navigation features may be used to interactwith, for example, platform 1002 and/or display 1020. Each of thesecomponents is described in greater detail below.

In various implementations, platform 1002 may include any combination ofa chipset 1005, processor 1010, memory 1012, antenna 1013, storage 1014,graphics subsystem 1015, applications 1016 and/or radio 1018. Chipset1005 may provide intercommunication among processor 1010, memory 1012,storage 1014, graphics subsystem 1015, applications 1016 and/or radio1018. For example, chipset 1005 may include a storage adapter (notdepicted) capable of providing intercommunication with storage 1014.

Processor 1010 may be implemented as a Complex Instruction Set Computer(CISC) or Reduced Instruction Set Computer (RISC) processors, x86instruction set compatible processors, multi-core, or any othermicroprocessor or central processing unit (CPU). In variousimplementations, processor 1010 may be dual-core processor(s), dual-coremobile processor(s), and so forth.

Memory 1012 may be implemented as a volatile memory device such as, butnot limited to, a Random Access Memory (RAM), Dynamic Random AccessMemory (DRAM), or Static RAM (SRAM).

Storage 1014 may be implemented as a non-volatile storage device suchas, but not limited to, a magnetic disk drive, optical disk drive, tapedrive, an internal storage device, an attached storage device, flashmemory, battery backed-up SDRAM (synchronous DRAM), and/or a networkaccessible storage device. In various implementations, storage 1014 mayinclude technology to increase the storage performance enhancedprotection for valuable digital media when multiple hard drives areincluded, for example.

Graphics subsystem 1015 may perform processing of images such as stillor video for display. Graphics subsystem 1015 may be a graphicsprocessing unit (GPU) or a visual processing unit (VPU), for example. Ananalog or digital interface may be used to communicatively couplegraphics subsystem 1015 and display 1020. For example, the interface maybe any of a High-Definition Multimedia Interface, DisplayPort, wirelessHDMI, and/or wireless HD compliant techniques. Graphics subsystem 1015may be integrated into processor 1010 or chipset 1005. In someimplementations, graphics subsystem 1015 may be a stand-alone devicecommunicatively coupled to chipset 1005.

The graphics and/or video processing techniques described herein may beimplemented in various hardware architectures. For example, graphicsand/or video functionality may be integrated within a chipset.Alternatively, a discrete graphics and/or video processor may be used.As still another implementation, the graphics and/or video functions maybe provided by a general purpose processor, including a multi-coreprocessor. In further embodiments, the functions may be implemented in aconsumer electronics device.

Radio 1018 may include one or more radios capable of transmitting andreceiving signals using various suitable wireless communicationstechniques. Such techniques may involve communications across one ormore wireless networks. Example wireless networks include (but are notlimited to) wireless local area networks (WLANs), wireless personal areanetworks (WPANs), wireless metropolitan area network (WMANs), cellularnetworks, and satellite networks. In communicating across such networks,radio 1018 may operate in accordance with one or more applicablestandards in any version.

In various implementations, display 1020 may include any television typemonitor or display. Display 1020 may include, for example, a computerdisplay screen, touch screen display, video monitor, television-likedevice, and/or a television. Display 1020 may be digital and/or analog.In various implementations, display 1020 may be a holographic display.Also, display 1020 may be a transparent surface that may receive avisual projection. Such projections may convey various forms ofinformation, images, and/or objects. For example, such projections maybe a visual overlay for a mobile augmented reality (MAR) application.Under the control of one or more software applications 1016, platform1002 may display user interface 1022 on display 1020.

In various implementations, content services device(s) 1030 may behosted by any national, international and/or independent service andthus accessible to platform 1002 via the Internet, for example. Contentservices device(s) 1030 may be coupled to platform 1002 and/or todisplay 1020. Platform 1002 and/or content services device(s) 1030 maybe coupled to a network 1060 to communicate (e.g., send and/or receive)media information to and from network 1060. Content delivery device(s)1040 also may be coupled to platform 1002 and/or to display 1020.

In various implementations, content services device(s) 1030 may includea cable television box, personal computer, network, telephone, Internetenabled devices or appliance capable of delivering digital informationand/or content, and any other similar device capable ofuni-directionally or bi-directionally communicating content betweencontent providers and platform 1002 and/display 1020, via network 1060or directly. It will be appreciated that the content may be communicateduni-directionally and/or bi-directionally to and from any one of thecomponents in system 1000 and a content provider via network 1060.Examples of content may include any media information including, forexample, video, music, medical and gaming information, and so forth.

Content services device(s) 1030 may receive content such as cabletelevision programming including media information, digital information,and/or other content. Examples of content providers may include anycable or satellite television or radio or Internet content providers.The provided examples are not meant to limit implementations inaccordance with the present disclosure in any way.

In various implementations, platform 1002 may receive control signalsfrom navigation controller 1050 having one or more navigation features.The navigation features of may be used to interact with user interface1022, for example. In various embodiments, navigation may be a pointingdevice that may be a computer hardware component (specifically, a humaninterface device) that allows a user to input spatial (e.g., continuousand multi-dimensional) data into a computer. Many systems such asgraphical user interfaces (GUI), and televisions and monitors allow theuser to control and provide data to the computer or television usingphysical gestures.

Movements of the navigation features of may be replicated on a display(e.g., display 1020) by movements of a pointer, cursor, focus ring, orother visual indicators displayed on the display. For example, under thecontrol of software applications 1016, the navigation features locatedon navigation may be mapped to virtual navigation features displayed onuser interface 1022, for example. In various embodiments, may not be aseparate component but may be integrated into platform 1002 and/ordisplay 1020. The present disclosure, however, is not limited to theelements or in the context shown or described herein.

In various implementations, drivers (not shown) may include technologyto enable users to instantly turn on and off platform 1002 like atelevision with the touch of a button after initial boot-up, whenenabled, for example. Program logic may allow platform 1002 to streamcontent to media adaptors or other content services device(s) 1030 orcontent delivery device(s) 1040 even when the platform is turned “off.”In addition, chipset 1005 may include hardware and/or software supportfor 5.1 surround sound audio and/or high definition 7.1 surround soundaudio, for example. Drivers may include a graphics driver for integratedgraphics platforms. In various embodiments, the graphics driver mayinclude a peripheral component interconnect (PCI) Express graphics card.

In various implementations, any one or more of the components shown insystem 1000 may be integrated. For example, platform 1002 and contentservices device(s) 1030 may be integrated, or platform 1002 and contentdelivery device(s) 1040 may be integrated, or platform 1002, contentservices device(s) 1030, and content delivery device(s) 1040 may beintegrated, for example. In various embodiments, platform 1002 anddisplay 1020 may be an integrated unit. Display 1020 and content servicedevice(s) 1030 may be integrated, or display 1020 and content deliverydevice(s) 1040 may be integrated, for example. These examples are notmeant to limit the present disclosure.

In various embodiments, system 1000 may be implemented as a wirelesssystem, a wired system, or a combination of both. When implemented as awireless system, system 1000 may include components and interfacessuitable for communicating over a wireless shared media, such as one ormore antennas, transmitters, receivers, transceivers, amplifiers,filters, control logic, and so forth. An example of wireless sharedmedia may include portions of a wireless spectrum, such as the RFspectrum and so forth. When implemented as a wired system, system 1000may include components and interfaces suitable for communicating overwired communications media, such as input/output (I/O) adapters,physical connectors to connect the I/O adapter with a correspondingwired communications medium, a network interface card (NIC), disccontroller, video controller, audio controller, and the like. Examplesof wired communications media may include a wire, cable, metal leads,printed circuit board (PCB), backplane, switch fabric, semiconductormaterial, twisted-pair wire, co-axial cable, fiber optics, and so forth.

Platform 1002 may establish one or more logical or physical channels tocommunicate information. The information may include media informationand control information. Media information may refer to any datarepresenting content meant for a user. Examples of content may include,for example, data from a voice conversation, videoconference, streamingvideo, electronic mail (“email”) message, voice mail message,alphanumeric symbols, graphics, image, video, text and so forth. Datafrom a voice conversation may be, for example, speech information,silence periods, background noise, comfort noise, tones and so forth.Control information may refer to any data representing commands,instructions or control words meant for an automated system. Forexample, control information may be used to route media informationthrough a system, or instruct a node to process the media information ina predetermined manner. The embodiments, however, are not limited to theelements or in the context shown or described in FIG. 8 .

As described above, system 1000 may be embodied in varying physicalstyles or form factors. FIG. 9 illustrates an example small form factordevice 1100, arranged in accordance with at least some implementationsof the present disclosure. In some examples, system 1000 may beimplemented via device 1100. In other examples, system 1000 or portionsthereof may be implemented via device 1100. In various embodiments, forexample, device 1100 may be implemented as a mobile computing device ahaving wireless capabilities. A mobile computing device may refer to anydevice having a processing system and a mobile power source or supply,such as one or more batteries, for example.

Examples of a mobile computing device may include a personal computer(PC), laptop computer, ultra-laptop computer, tablet, touch pad,portable computer, handheld computer, palmtop computer, personal digitalassistant (PDA), cellular telephone, combination cellular telephone/PDA,smart device (e.g., smart phone, smart tablet or smart mobiletelevision), mobile internet device (MID), messaging device, datacommunication device, cameras, and so forth.

Examples of a mobile computing device also may include computers thatare arranged to be worn by a person, such as a wrist computers, fingercomputers, ring computers, eyeglass computers, belt-clip computers,arm-band computers, shoe computers, clothing computers, and otherwearable computers. In various embodiments, for example, a mobilecomputing device may be implemented as a smart phone capable ofexecuting computer applications, as well as voice communications and/ordata communications. Although some embodiments may be described with amobile computing device implemented as a smart phone by way of example,it may be appreciated that other embodiments may be implemented usingother wireless mobile computing devices as well. The embodiments are notlimited in this context.

As shown in FIG. 9 , device 1100 may include a housing with a front 1101and a back 1102. Device 1100 includes a display 1104, an input/output(I/O) device 1106, and an integrated antenna 1108. Device 1100 also mayinclude navigation features 1112. I/O device 1106 may include anysuitable I/O device for entering information into a mobile computingdevice. Examples for I/O device 1106 may include an alphanumerickeyboard, a numeric keypad, a touch pad, input keys, buttons, switches,microphones, speakers, voice recognition device and software, and soforth. Information also may be entered into device 1100 by way ofmicrophone (not shown), or may be digitized by a voice recognitiondevice. As shown, device 1100 may include a camera 1105 (e.g., includinga lens, an aperture, and an imaging sensor) and a flash 1110 integratedinto back 1102 (or elsewhere) of device 1100. In other examples, camera1105 and flash 1110 may be integrated into front 1101 of device 1100 orboth front and back cameras may be provided. Camera 1105 and flash 1110may be components of a camera module to originate image data processedinto streaming video that is output to display 1104 and/or communicatedremotely from device 1100 via antenna 1108 for example.

The system 1000 and/or the device 1100 may include one or more featuresor aspects of the various embodiments described herein, including thosedescribed in the following examples.

ADDITIONAL NOTES AND EXAMPLES

Example 1 includes an image processing system, comprising a videocapture engine to capture a volumetric broadcast video signal inreal-time and generate a sequence of frame images from the capturedreal-time volumetric broadcast video signal, an image segmentationengine to segment an input image, which corresponds to a single frame ofthe sequence of frame images, to generate a mask image associated withthe input image, and logic coupled to the image segmentation engine andthe video capture engine to determine a mask quality score based on theinput image and the associated mask image in real-time.

Example 2 includes the system of Example 1, wherein the logic comprisesa neural network trained to take the input image and associated maskimage as inputs to the neural network and provide the mask quality scoreas an output of the neural network.

Example 3 includes the system of any of Examples 1 to 2, wherein theneural network is trained based on a set of reference input images, aset of degraded mask images, and a set of quality scores.

Example 4 includes an electronic system, comprising a memory to store aset of input images and a reference mask image associated with eachinput image of the set of input images, a processor communicativelycoupled to the memory, and logic communicatively coupled to theprocessor and the memory, the logic to generate a set of two or moremasks of different quality associated with each input image of the setof input images, and determine a quality score for each generated mask.

Example 5 includes the system of Example 4, wherein the logic is furtherto generate at least one mask of the set of masks with a firstsegmentation model, and generate at least one mask of the set of maskswith a second segmentation model which is different from the firstsegmentation model.

Example 6 includes the system of any of Examples 4 to 5, wherein thelogic is further to generate at least one mask of the set of masks witha first set of parameters for a segmentation model, and generate atleast one mask of the set of masks with a second set of parameters forthe segmentation model which is different from the first set ofparameters.

Example 7 includes the system of any of Examples 4 to 6, wherein thelogic is further to determine the quality score for each generated maskbased on a comparison of the generated mask associated with an inputimage and the reference mask associated with the input image.

Example 8 includes the system of Example 7, wherein the comparison isbased on a Dice similarity coefficient.

Example 9 includes the system of any of Examples 7 to 8, wherein thelogic is further to train a neural network to predict quality scoresbased on a training data set that includes the set of input images, theset of two or more generated masks associated with each input image, andthe quality score for each of the generated masks.

Example 10 includes an image processing apparatus, comprising one ormore substrates, and logic coupled to the one or more substrates, thelogic to generate a set of two or more masks of different qualityassociated each input image of a set of input images, and determine aquality score for each generated mask.

Example 11 includes the apparatus of Example 10, wherein the logic isfurther to generate at least one mask of the set of masks with a firstsegmentation model, and generate at least one mask of the set of maskswith a second segmentation model which is different from the firstsegmentation model.

Example 12 includes the apparatus of any of Examples 10 to 11, whereinthe logic is further to generate at least one mask of the set of maskswith a first set of parameters for a segmentation model, and generate atleast one mask of the set of masks with a second set of parameters forthe segmentation model which is different from the first set ofparameters.

Example 13 includes the apparatus of any of Examples 10 to 12, whereinthe logic is further to determine the quality score for each generatedmask based on a comparison of the generated mask associated with aninput image and a reference mask associated with the input image.

Example 14 includes the apparatus of Example 13, wherein the comparisonis based on a Dice similarity coefficient.

Example 15 includes the apparatus of any of Examples 13 to 14, whereinthe logic is further to train a neural network to predict quality scoresbased on a training data set that includes the set of input images, theset of two or more generated masks associated with each input image, andthe quality score for each of the generated masks.

Example 16 includes a method of processing an image, comprisinggenerating a set of two or more masks of different quality associatedeach input image of a set of input images, and determining a qualityscore for each generated mask.

Example 17 includes the method of Example 16, further comprisinggenerating at least one mask of the set of masks with a firstsegmentation model, and generating at least one mask of the set of maskswith a second segmentation model which is different from the firstsegmentation model.

Example 18 includes the method of any of Examples 16 to 17, furthercomprising generating at least one mask of the set of masks with a firstset of parameters for a segmentation model, and generating at least onemask of the set of masks with a second set of parameters for thesegmentation model which is different from the first set of parameters.

Example 19 includes the method of any of Examples 16 to 18, furthercomprising determining the quality score for each generated mask basedon a comparison of the generated mask associated with an input image anda reference mask associated with the input image.

Example 20 includes the method of Example 19, wherein the comparison isbased on a Dice similarity coefficient.

Example 21 includes the method of any of Examples 19 to 20, furthercomprising training a neural network to predict quality scores based ona training data set that includes the set of input images, the set oftwo or more generated masks associated with each input image, and thequality score for each of the generated masks.

Example 22 includes at least one machine readable medium comprising aplurality of instructions that, in response to being executed on acomputing device, cause the computing device to generate a set of two ormore masks of different quality associated each input image of a set ofinput images, and determine a quality score for each generated mask.

Example 23 includes the machine readable medium of Example 22,comprising a plurality of further instructions that, in response tobeing executed on the computing device, cause the computing device togenerate at least one mask of the set of masks with a first segmentationmodel, and generate at least one mask of the set of masks with a secondsegmentation model which is different from the first segmentation model.

Example 24 includes the machine readable medium of any of Examples 22 to23, comprising a plurality of further instructions that, in response tobeing executed on the computing device, cause the computing device togenerate at least one mask of the set of masks with a first set ofparameters for a segmentation model, and generate at least one mask ofthe set of masks with a second set of parameters for the segmentationmodel which is different from the first set of parameters.

Example 25 includes the machine readable medium of any of Examples 22 to24, comprising a plurality of further instructions that, in response tobeing executed on the computing device, cause the computing device todetermine the quality score for each generated mask based on acomparison of the generated mask associated with an input image and areference mask associated with the input image.

Example 26 includes the machine readable medium of Example 25, whereinthe comparison is based on a Dice similarity coefficient.

Example 27 includes the machine readable medium of any of Examples 25 to26, comprising a plurality of further instructions that, in response tobeing executed on the computing device, cause the computing device totrain a neural network to predict quality scores based on a trainingdata set that includes the set of input images, the set of two or moregenerated masks associated with each input image, and the quality scorefor each of the generated masks.

Example 28 includes an image processor apparatus, comprising means forgenerating a set of two or more masks of different quality associatedeach input image of a set of input images, and means for determining aquality score for each generated mask.

Example 29 includes the apparatus of Example 28, further comprisingmeans for generating at least one mask of the set of masks with a firstsegmentation model, and means for generating at least one mask of theset of masks with a second segmentation model which is different fromthe first segmentation model.

Example 30 includes the apparatus of any of Examples 28 to 29, furthercomprising means for generating at least one mask of the set of maskswith a first set of parameters for a segmentation model, and means forgenerating at least one mask of the set of masks with a second set ofparameters for the segmentation model which is different from the firstset of parameters.

Example 31 includes the apparatus of any of Examples 28 to 30, furthercomprising means for determining the quality score for each generatedmask based on a comparison of the generated mask associated with aninput image and a reference mask associated with the input image.

Example 32 includes the apparatus of Example 31, wherein the comparisonis based on a Dice similarity coefficient.

Example 33 includes the apparatus of any of Examples 31 to 32, furthercomprising means for training a neural network to predict quality scoresbased on a training data set that includes the set of input images, theset of two or more generated masks associated with each input image, andthe quality score for each of the generated masks.

Various embodiments may be implemented using hardware elements, softwareelements, or a combination of both. Examples of hardware elements mayinclude processors, microprocessors, circuits, circuit elements (e.g.,transistors, resistors, capacitors, inductors, and so forth), integratedcircuits, application specific integrated circuits (ASIC), programmablelogic devices (PLD), digital signal processors (DSP), field programmablegate array (FPGA), logic gates, registers, semiconductor device, chips,microchips, chip sets, and so forth. Examples of software may includesoftware components, programs, applications, computer programs,application programs, system programs, machine programs, operatingsystem software, middleware, firmware, software modules, routines,subroutines, functions, methods, procedures, software interfaces,application program interfaces (API), instruction sets, computing code,computer code, code segments, computer code segments, words, values,symbols, or any combination thereof. Determining whether an embodimentis implemented using hardware elements and/or software elements may varyin accordance with any number of factors, such as desired computationalrate, power levels, heat tolerances, processing cycle budget, input datarates, output data rates, memory resources, data bus speeds and otherdesign or performance constraints.

One or more aspects of at least one embodiment may be implemented byrepresentative instructions stored on a machine-readable medium whichrepresents various logic within the processor, which when read by amachine causes the machine to fabricate logic to perform the techniquesdescribed herein. Such representations, known as IP cores may be storedon a tangible, machine readable medium and supplied to various customersor manufacturing facilities to load into the fabrication machines thatactually make the logic or processor.

While certain features set forth herein have been described withreference to various implementations, this description is not intendedto be construed in a limiting sense. Hence, various modifications of theimplementations described herein, as well as other implementations,which are apparent to persons skilled in the art to which the presentdisclosure pertains are deemed to lie within the spirit and scope of thepresent disclosure.

It will be recognized that the embodiments are not limited to theembodiments so described, but can be practiced with modification andalteration without departing from the scope of the appended claims. Forexample, the above embodiments may include specific combination offeatures. However, the above embodiments are not limited in this regardand, in various implementations, the above embodiments may include theundertaking only a subset of such features, undertaking a differentorder of such features, undertaking a different combination of suchfeatures, and/or undertaking additional features than those featuresexplicitly listed. The scope of the embodiments should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

What is claimed is:
 1. An image processing system, comprising: a videocapture engine to capture a volumetric broadcast video signal inreal-time and generate a sequence of frame images from the capturedreal-time volumetric broadcast video signal; an image segmentationengine to segment an input image, which corresponds to a single frame ofthe sequence of frame images, to generate a mask image associated withthe input image; and logic coupled to the image segmentation engine andthe video capture engine to determine a mask quality score based on theinput image and the associated mask image in real-time.
 2. The system ofclaim 1, wherein the logic comprises: a neural network trained to takethe input image and associated mask image as inputs to the neuralnetwork and provide the mask quality score as an output of the neuralnetwork.
 3. The system of claim 2, wherein the neural network is trainedbased on a set of reference input images, a set of degraded mask images,and a set of quality scores.
 4. The system of claim 1, wherein the logicis further to: make a real-time adjustment of a broadcast based on thereal-time mask quality score.
 5. The system of claim 4, wherein thelogic is further to: exclude predicted poor quality segmentation fromthe broadcast based on the real-time mask quality score.
 6. The systemof claim 4, wherein the logic is further to: reduce a frame rate of thebroadcast in response to a predicted mask quality that is lower than athreshold.
 7. The system of claim 6, wherein, the logic is further to:select a more compute intensive algorithm for the image segmentationengine in response to the predicted mask quality that is lower than thethreshold.
 8. An image processing apparatus, comprising: one or moreprocessors; memory coupled to the one or more processor to store imageand mask data; and logic coupled to the one or more processors and thememory, the logic to: capture a volumetric broadcast video signal inreal-time and generate a sequence of frame images from the capturedreal-time volumetric broadcast video signal, segment an input image,which corresponds to a single frame of the sequence of frame images, togenerate a mask image associated with the input image, and determine amask quality score based on the input image and the associated maskimage in real-time.
 9. The apparatus of claim 8, wherein the logiccomprises: a neural network trained to take the input image andassociated mask image as inputs to the neural network and provide themask quality score as an output of the neural network.
 10. The apparatusof claim 9, wherein the neural network is trained based on a set ofreference input images, a set of degraded mask images, and a set ofquality scores.
 11. The apparatus of claim 8, wherein the logic isfurther to: make a real-time adjustment of a broadcast based on thereal-time mask quality score.
 12. The apparatus of claim 11, wherein thelogic is further to: exclude predicted poor quality segmentation fromthe broadcast based on the real-time mask quality score.
 13. Theapparatus of claim 11, wherein the logic is further to: reduce a framerate of the broadcast in response to a predicted mask quality that islower than a threshold.
 14. The apparatus of claim 13, wherein, thelogic is further to: select a more compute intensive algorithm tosegment the input image in response to the predicted mask quality thatis lower than the threshold.
 15. A method of processing an image,comprising: capturing a volumetric broadcast video signal in real-timeand generate a sequence of frame images from the captured real-timevolumetric broadcast video signal; segmenting an input image, whichcorresponds to a single frame of the sequence of frame images, togenerate a mask image associated with the input image; and determining amask quality score based on the input image and the associated maskimage in real-time.
 16. The method of claim 15, further comprising:determining the mask quality score from a neural network trained to takethe input image and associated mask image as inputs to the neuralnetwork and provide the mask quality score as an output of the neuralnetwork.
 17. The method of claim 15, further comprising: making areal-time adjustment of a broadcast based on the real-time mask qualityscore.
 18. The method of claim 17, further comprising: excludingpredicted poor quality segmentation from the broadcast based on thereal-time mask quality score.
 19. The method of claim 17, furthercomprising: reducing a frame rate of the broadcast in response to apredicted mask quality that is lower than a threshold.
 20. The method ofclaim 19, further comprising: selecting a more compute intensivealgorithm for segmenting the input image in response to the predictedmask quality that is lower than the threshold.